One example of a parallel processing system pertaining to the present invention is disclosed in NPL 1 and NPL 2. As shown in FIG. 11, a parallel calculation system 2500 is formed by combining hardware and software.
More specifically, the parallel calculation system 2500 includes, as hardware, a plurality of functional nodes 2400, which perform mathematical operations, IO (Input/Output), storing or any other function. In addition to the functional nodes 2400, the parallel calculation system 2500 also has a communication path for communication between the functional nodes 2400.
Furthermore, the parallel calculation system 2500 includes, as software, a virtualization layer 2300, virtual machines 2200 and processes 2100, which are on the virtual machines.
With the above configuration, the parallel calculation system 2500 pertaining to the present invention operates in the following manner.
First, the virtualization layer 2300 assigns a functional node 2400 to each virtual machine 2000 in a dynamic or static manner, enabling the virtual machine 2200 to operate as a virtual parallel calculation system 2500 made up of functional nodes that are independent of each other. Each virtual machine 2200 is able to execute a process 2100 on a virtual parallel machine 2200 assigned to the virtual machine 2200, without sensing the physical assignment of the functional nodes 2400 or the execution state of the other virtual machines 2200. A process 2100 running on a virtual machine 2200 may be a typical OS (Operating System) or application. The functional nodes 2400, which make up physical hardware, communicate with each other via the communication path when performing processes.
Another example of a parallel calculation system that includes a plurality of functional nodes is disclosed in PTL 1. According to a technique disclosed in PTL 1, an object is made of software, enabling the object to realize such functions as mathematical operations, IO (Input/Output), storing or the like.
With the configuration described above, it is possible to realize a parallel calculation system including a plurality of functional nodes.